package com.lwx.leetcode.dp;

/**
 * 最大连续子数组的和
 */
public class Top53 {
    public int maxSubArray(int[] nums) {
        if(nums == null || nums.length == 0){
            return 0;
        }

        int[] dp = new int[nums.length];
        dp[0] = nums[0];
        int maxEle = dp[0];
        for (int i = 1; i < nums.length; i++) {
            if(dp[i-1] < 0){
                dp[i] = nums[i];
            }else {
                dp[i] = dp[i-1] + nums[i];
            }

            if(dp[i] > maxEle){
                maxEle = dp[i];
            }
        }
        return maxEle;
    }
}
